<!DOCTYPE html>
<html lang="zh-CN">
  <head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <meta name="description" content="">
  <meta name="keywords" content="">
  
    <link rel="icon" href="/avatar.jpg">
  
    
  <title>科学君的不科学博客</title>
  <link rel="stylesheet" href="/style.css">
  <link rel="stylesheet" href="/lib/jquery.fancybox.min.css">
  <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
  <script type="text/javascript" src="https://tajs.qq.com/stats?sId=65546304" charset="UTF-8"></script>
  <script>
  (function(){
      var bp = document.createElement('script');
      var curProtocol = window.location.protocol.split(':')[0];
      if (curProtocol === 'https') {
          bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
      }
      else {
          bp.src = 'http://push.zhanzhang.baidu.com/push.js';
      }
      var s = document.getElementsByTagName("script")[0];
      s.parentNode.insertBefore(bp, s);
  })();
  </script>
</head>

<body>
  <header>
  <div class="header-container">
    <a class='logo' href="/">
      <span>科学君的不科学博客</span>
    </a>
    <ul class="right-header">
      
        <li class="nav-item">
          
            <a href="/" class="item-link active">首页</a>
          
        </li>
      
        <li class="nav-item">
          
            <a href="/about" class="item-link">关于</a>
          
        </li>
      
        <li class="nav-item">
          
            <a href="/archives" class="item-link">归档</a>
          
        </li>
      
        <li class="nav-item">
          
            <a href="/tags" class="item-link">标签</a>
          
        </li>
      
        <li class="nav-item">
          
            <a href="/atom.xml" class="item-link">FEED 订阅</a>
          
        </li>
      
    </ul>
  </div>
</header>

  <main id='index'>
  <div class="posts-list">
    
      <section>
        <a href="/2019/05/09/java8-stream-parallel-short-task/">
          <h3 class='post-head'>
            Java 8 parallelStream 在大批量小任务上的性能陷阱
          </h3>
        </a>
        
        <div class="post-content">
          
            
              
                <h1 id="tl-dr"><a href="#tl-dr" class="headerlink" title="tl;dr"></a>tl;dr</h1><p>Java 8 的 parallelStream 在运行大量的短任务（短时间执行的任务）之后会变成单线程运行，这是 parallelStream 自带的性能优化功能。但是在短任务和长任务交替执行时，这种优化会显著拖慢运行速度。</p>
              
          
        </div>
        <div class='post-meta'>
          <i class="fa fa-calendar" aria-hidden="true"></i> <time>2019年05月09日</time>
          
            | <i class="fa fa-folder-open-o" aria-hidden="true"></i> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/blog/">blog</a>
  </div>



          
          
            <span class="seperator">|</span>
             
                <i class="fa fa-tags" aria-hidden="true"></i>
              
             
  <a href="/tags/#java" class='tag'>java</a>

  <a href="/tags/#并发编程" class='tag'>并发编程</a>


          
        </div>
      </section>
    
      <section>
        <a href="/2019/05/05/docker-in-docker-container-mount/">
          <h3 class='post-head'>
            Mount volume to a docker container running in a docker container
          </h3>
        </a>
        
        <div class="post-content">
          
            
              
                <h1 id="一个匪夷所思的需求"><a href="#一个匪夷所思的需求" class="headerlink" title="一个匪夷所思的需求"></a>一个匪夷所思的需求</h1><p>有时候我们需要在 docker container 里面运行一个 docker container（虽然都是运行在宿主机的 docker daemon 里的），这个其实使用 <code>-v /var/run/docker.sock:/var/run/docker.sock</code> 就能做到了。本文的重点是下面这种情况：</p>
              
          
        </div>
        <div class='post-meta'>
          <i class="fa fa-calendar" aria-hidden="true"></i> <time>2019年05月05日</time>
          
            | <i class="fa fa-folder-open-o" aria-hidden="true"></i> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/blog/">blog</a>
  </div>



          
          
            <span class="seperator">|</span>
             
                <i class="fa fa-tag" aria-hidden="true"></i>
              
             
  <a href="/tags/#docker" class='tag'>docker</a>


          
        </div>
      </section>
    
      <section>
        <a href="/2018/05/13/xunit-debug-assert/">
          <h3 class='post-head'>
            在 .Net Core 中使用 Xunit 进行单元测试的奇葩问题
          </h3>
        </a>
        
        <div class="post-content">
          
            
              
                <p>假如在单元测试的代码（包括测试代码及测试代码调用的任何代码）中 <code>Debug.Assert</code> 的结果为 false，Xunit 会直接崩溃，并打印出如下的错误信息：</p>
              
          
        </div>
        <div class='post-meta'>
          <i class="fa fa-calendar" aria-hidden="true"></i> <time>2018年05月13日</time>
          
            | <i class="fa fa-folder-open-o" aria-hidden="true"></i> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/blog/">blog</a>
  </div>



          
          
            <span class="seperator">|</span>
             
                <i class="fa fa-tags" aria-hidden="true"></i>
              
             
  <a href="/tags/#.Net Core" class='tag'>.Net Core</a>

  <a href="/tags/#XUnit" class='tag'>XUnit</a>


          
        </div>
      </section>
    
      <section>
        <a href="/2018/05/06/nuxt-uglify-config/">
          <h3 class='post-head'>
            在 Nuxt 中修改 uglifyjs 的配置
          </h3>
        </a>
        
        <div class="post-content">
          
            
              
                <p>假如需要修改 Nuxt 中 UglifyJs 的配置的话，可以直接在 <code>nuxt.config.js</code> 的 <code>build</code> 中添加一个 <code>uglify</code> 字段。如果其值是一个对象的话，对象的内容会跟 nuxt 默认的 uglify 配置进行合并。如果值是 false 的话，就不会使用 uglify plugin。</p>
              
          
        </div>
        <div class='post-meta'>
          <i class="fa fa-calendar" aria-hidden="true"></i> <time>2018年05月06日</time>
          
          
            <span class="seperator">|</span>
             
                <i class="fa fa-tags" aria-hidden="true"></i>
              
             
  <a href="/tags/#前端" class='tag'>前端</a>

  <a href="/tags/#vue" class='tag'>vue</a>

  <a href="/tags/#web" class='tag'>web</a>

  <a href="/tags/#nuxt" class='tag'>nuxt</a>


          
        </div>
      </section>
    
      <section>
        <a href="/2018/04/24/npm5-install-folder-link/">
          <h3 class='post-head'>
            npm5中本地间模块引用的最好方式（附带引用方法总结）
          </h3>
        </a>
        
        <div class="post-content">
          
            
              
                <h2 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h2><p>对于某些比较大的项目，我们可能会希望将其划分成多个模块：</p>
              
          
        </div>
        <div class='post-meta'>
          <i class="fa fa-calendar" aria-hidden="true"></i> <time>2018年04月24日</time>
          
            | <i class="fa fa-folder-open-o" aria-hidden="true"></i> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/blog/">blog</a>
  </div>



          
          
            <span class="seperator">|</span>
             
                <i class="fa fa-tags" aria-hidden="true"></i>
              
             
  <a href="/tags/#前端" class='tag'>前端</a>

  <a href="/tags/#npm" class='tag'>npm</a>


          
        </div>
      </section>
    
      <section>
        <a href="/2018/04/10/netcore-sonar-travis/">
          <h3 class='post-head'>
            使用 Travis 和 SonarCloud(SonarAnalyzer) 对 .Net Core 项目进行分析
          </h3>
        </a>
        
        <div class="post-content">
          
            
              
                <p>最近 SonarC# 加上了对 .Net Core 的支持，而且可以在 Linux 上运行 C# 的分析了。这样的话，就可以用 Travis-CI 对代码进行持续分析，并且自动将结果上传到 SonarCloud 上。要启用这个功能，只需要在 <code>.travis.yml</code> 里面加上 SonarCloud Addon（如果你用的话），然后在 install 字段里面下载sonar-scanner-msbuild的压缩包并运行即可。代码：</p>
              
          
        </div>
        <div class='post-meta'>
          <i class="fa fa-calendar" aria-hidden="true"></i> <time>2018年04月10日</time>
          
          
            <span class="seperator">|</span>
             
                <i class="fa fa-tags" aria-hidden="true"></i>
              
             
  <a href="/tags/#.Net Core" class='tag'>.Net Core</a>

  <a href="/tags/#Travis-CI" class='tag'>Travis-CI</a>

  <a href="/tags/#SonarCloud" class='tag'>SonarCloud</a>


          
        </div>
      </section>
    
      <section>
        <a href="/2018/04/02/vim-paste-in-command/">
          <h3 class='post-head'>
            Vim 在插入模式下粘贴的方法
          </h3>
        </a>
        
        <div class="post-content">
          
            
              
                <p>有时候我们需要在Vim的 command line （命令窗口、ex命令）进行粘贴，比如：<br><img src="1.png" alt=""></p>
              
          
        </div>
        <div class='post-meta'>
          <i class="fa fa-calendar" aria-hidden="true"></i> <time>2018年04月02日</time>
          
            | <i class="fa fa-folder-open-o" aria-hidden="true"></i> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/blog/">blog</a>
  </div>



          
          
            <span class="seperator">|</span>
             
                <i class="fa fa-tag" aria-hidden="true"></i>
              
             
  <a href="/tags/#Vim" class='tag'>Vim</a>


          
        </div>
      </section>
    
      <section>
        <a href="/2018/04/02/abp23-notification/">
          <h3 class='post-head'>
            ABP 通知系统数据表结构及源码分析
          </h3>
        </a>
        
        <div class="post-content">
          
            
              
                <h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><p>这篇文章接着 <a href="/2018/03/27/abp11/">在 ABP 2.3 和 Vue 单页应用中的踩坑总结</a> 来写。</p>
              
          
        </div>
        <div class='post-meta'>
          <i class="fa fa-calendar" aria-hidden="true"></i> <time>2018年04月02日</time>
          
            | <i class="fa fa-folder-open-o" aria-hidden="true"></i> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/blog/">blog</a>
  </div>



          
          
            <span class="seperator">|</span>
             
                <i class="fa fa-tags" aria-hidden="true"></i>
              
             
  <a href="/tags/#Web 开发" class='tag'>Web 开发</a>

  <a href="/tags/#AspNetBoilerplate" class='tag'>AspNetBoilerplate</a>

  <a href="/tags/#Asp.Net" class='tag'>Asp.Net</a>


          
        </div>
      </section>
    
      <section>
        <a href="/2018/03/30/graphql-merge-schema/">
          <h3 class='post-head'>
            GraphQL：BFF架构资料 （兼谈合并多个 Schema 的方式）
          </h3>
        </a>
        
        <div class="post-content">
          
            
              
                <p>最近正打算做 <a href="http://new.npuacm.info" target="_blank" rel="noopener">http://new.npuacm.info</a> 的后端，研究了一下 GraphQL。在这里记录一下我所了解到的东西。我现在还没开始写后端，所以这里能写的也不多，等到网站做完之后，我可能还会补充一些东西。</p>
              
          
        </div>
        <div class='post-meta'>
          <i class="fa fa-calendar" aria-hidden="true"></i> <time>2018年03月30日</time>
          
            | <i class="fa fa-folder-open-o" aria-hidden="true"></i> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/blog/">blog</a>
  </div>



          
          
            <span class="seperator">|</span>
             
                <i class="fa fa-tag" aria-hidden="true"></i>
              
             
  <a href="/tags/#Web 开发" class='tag'>Web 开发</a>


          
        </div>
      </section>
    
      <section>
        <a href="/2018/03/27/abp11/">
          <h3 class='post-head'>
            在 ABP 2.3 和 Vue 单页应用中的踩坑总结
          </h3>
        </a>
        
        <div class="post-content">
          
            
              
                <h1 id="前言"><a href="#前言" class="headerlink" title="前言"></a>前言</h1><p>离 <a href="http://acm.nwpu.edu.cn" target="_blank" rel="noopener">http://acm.nwpu.edu.cn</a> 开发结束已经过去半年多了，我最近也放弃了考研的打算，现在也算是有空写博客了_(:3」∠)_。我就在这一篇博文中总结一下之前踩过的坑。注意，这篇博文中的后端技术仅限于 Asp.Net Core 1.1 及 AspNetBoilerplate 2.3.0。我不保证这里的解决方案在现在的 .net core 2.0 和 ABP 3.X.X 里还能一样工作。另外，直接写在ABP、VUE文档里或者用Google能直接查到的解决方案我也是懒得在这里再写一遍的。</p>
              
          
        </div>
        <div class='post-meta'>
          <i class="fa fa-calendar" aria-hidden="true"></i> <time>2018年03月27日</time>
          
            | <i class="fa fa-folder-open-o" aria-hidden="true"></i> 
  <div class="article-category">
    <a class="article-category-link" href="/categories/blog/">blog</a>
  </div>



          
          
            <span class="seperator">|</span>
             
                <i class="fa fa-tags" aria-hidden="true"></i>
              
             
  <a href="/tags/#Web 开发" class='tag'>Web 开发</a>

  <a href="/tags/#Asp.Net" class='tag'>Asp.Net</a>

  <a href="/tags/#Vue" class='tag'>Vue</a>


          
        </div>
      </section>
    
  </div>
  <aside>
    
    <div class="search">
      <div class="content">
        <form action="//www.google.com/search" target="_blank" class="search-form">
          <input type="text" name="q" maxlength="20" placeholder="搜索">
          <input type="hidden" name='sitesearch' value="https://liu233w.github.io">
        </form>
      </div>
    </div>
    
    
      <div class="avatar">
        <img src="/avatar.jpg" alt="avatar">
          
            <div class="content">
                <span>@不科学的科学君</span>
            </div>
          
      </div>
    
    
      <div class="categories">
        <h1>
          文章分类
        </h1>
        <div class="content">
          <ul class="category-list"><li class="category-list-item"><a class="category-list-link" href="/categories/acm/">acm</a></li><li class="category-list-item"><a class="category-list-link" href="/categories/blog/">blog</a></li></ul>
        </div>
      </div>
    
    
      <div class="links">
        <h1>
          友情链接
        </h1>
        <div class="content">
          
            <a href="https://liu233w.github.io" target="_blank">博客主链接（这个最新，其他的都是镜像站）</a>
          
            <a href="https://github.com/liu233w/" target="_blank">我的Github</a>
          
        </div>
      </div>
    
  </aside>
</main>

  <div class="paging">
  <div class="paging-container">
    
    <div></div>    
    
    
    <div class='page-next'>
      <a href="/page/2/">下一页</a>
    </div>
    
  </div>
</div>



  <footer>
  <div class="copyright">
    <div>
      &copy; 2019 | Powered by <a href="https://hexo.io" target="_blank">Hexo</a>&nbsp
    </div>
    <div>
      Theme by <a href="https://github.com/lewis-geek/hexo-theme-Aath" target="_blank">Aath</a>
    </div>
  </div>
</footer>


<script async src="//dn-lbstatics.qbox.me/busuanzi/2.3/busuanzi.pure.mini.js"></script>

</body>
</html>
